package com.cloudkinto.enumType.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author long
 */
public enum TimeZoneEnum {
    /**
     *
     */
    t1("UTC-11", "Etc/GMT+11", -11),
    t2("UTC-10", "Pacific/Honolulu", -10),
    t3("UTC-09", "America/Anchorage", -9),
    t4("UTC-08", "America/Los_Angeles", -8),
    t5("UTC-07", "America/Denver", -7),
    t6("UTC-06", "America/Chicago", -6),
    t7("UTC-05", "America/New_York", -5),
    t8("UTC-04", "America/Halifax", -4),
    t9("UTC-03", "America/Sao_Paulo", -3),
    t10("UTC-02", "Etc/GMT+2", -2),
    t11("UTC-01", "Atlantic/Cape_Verde", -1),
    t12("UTC+00", "Europe/London", 0),
    t13("UTC+01", "Europe/Berlin", 1),
    t14("UTC+02", "Europe/Kiev", 2),
    t15("UTC+03", "Europe/Minsk", 3),
    t16("UTC+04", "Europe/Moscow", 4),
    t17("UTC+05", "Asia/Karachi", 5),
    t18("UTC+06", "Asia/Dhaka", 6),
    t19("UTC+07", "Asia/Bangkok", 7),
    t20("UTC+08", "Asia/Shanghai", 8),
    t21("UTC+09", "Asia/Tokyo", 9),
    t22("UTC+10", "Australia/Sydney", 10),
    t23("UTC+11", "Pacific/Guadalcanal", 11),
    t24("UTC+12", "Pacific/Fiji", 12),
    t25("UTC+13", "Pacific/Apia", 13);

    private final String timeUtc;

    private final String timeZone;

    private final Integer timeUtcHourage;

    TimeZoneEnum(String timeUtc, String timeZone, Integer timeUtcHourage) {
        this.timeUtc = timeUtc;
        this.timeZone = timeZone;
        this.timeUtcHourage = timeUtcHourage;
    }

    public static List<Map<String, Object>> getTimeZoneList() {
        ArrayList<Map<String, Object>> list = new ArrayList<>();
        for (TimeZoneEnum timeZoneEnum : values()) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("timeUtc", timeZoneEnum.timeUtc);
            map.put("timeZone", timeZoneEnum.timeZone);
            map.put("timeUtcHourage", timeZoneEnum.timeUtcHourage);
            list.add(map);
        }
        return list;
    }
}
